home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / CRS / crs52.d81 / timtimer.arc / READ.SEQ2.0 < prev    next >
Text File  |  2009-10-10  |  4KB  |  229 lines

  1. ********************************
  2. *áreadáofárealátimeáclocká#2.0á*
  3. ********************************
  4. *áááááááááááááááááááááááááááááá*
  5. *ááááááááámayá29á1987áááááááááá*
  6. *áááááááááááááááááááááááááááááá*
  7. *áááááábyátimágácorcoranááááááá*
  8. *áááááááááááááááááááááááááááááá*
  9. ********************************
  10. *áthisás/wáisápartáofátheártcáá*
  11. *ásharewareápackage.áitáisáokay*
  12. *átoádistributeáandáshareábutáá*
  13. *ánotátoásell.ááááááááááááááááá*
  14. *áááááááááááááááááááááááááááááá*
  15. *ápleaseáconsiderásupportingááá*
  16. *ááámysticájim'sás/wásystemáááá*
  17. *áááááááááááááááááááááááááááááá*
  18. ********************************
  19. *
  20. *
  21. *
  22.  org $4580
  23. ddra equ $dc02
  24. dra equ $dc00
  25. hours equ $4570
  26. mins equ $4571
  27. secs equ $4572
  28. temp equ $4573
  29. tmp1 equ $4574
  30. tmp2 equ $4575
  31. hsecs equ $4576
  32. count equ $4577
  33. *
  34. *
  35. *
  36. *
  37. *
  38.  lda $01 ;getámemáconfig
  39.  pha  ;saveáit
  40.  lda #$35 ;turnáonái/oáregion
  41.  sta $01
  42. start sei  ;intáoff
  43. rdrtc lda dra ;readádra
  44.  sta $02 ;saveáit
  45.  lda ddra ;readáddra
  46.  sta $03 ;saveáit
  47.  lda #$f ;loadánewáconfig
  48.  sta ddra ;4áo/p's
  49.  lda #$f ;states
  50.  sta dra ;ceátrue,ásclkálow
  51. *
  52. *
  53. *
  54. *áreadároutine
  55. *
  56.  lda #$dc0f ;readácrbáforácurrentásetting
  57.  sta tmp1 ;saveáitáforánow
  58.  and #$7f ;todáselect
  59.  sta $dc0f ;storeáit
  60.  jsr slct ;selectáclockáchip
  61.  jsr rdbyt ;readásecs/100
  62.  lsr  ;shiftárightá4áplaces
  63.  lsr  ;
  64.  lsr  ;
  65.  lsr  ;
  66.  sta hsecs ;saveáforánow
  67.  jsr rdbyt ;readásecs
  68.  sta secs ;saveáforánow
  69.  jsr rdbyt ;readámins
  70.  sta mins ;saveáitáforánow
  71.  jsr rdbyt ;readáhours
  72.  tax  ;transferátoáxáreg.
  73.  and #$1f ;cleará3ámsb's
  74.  cmp #$12 ;isáitátwelve?
  75.  bne noway ;noáitáisn'tátwelve
  76.  txa  ;retrieve
  77.  eor #$20 ;toggleáam/pmábit
  78.  tax
  79. noway txa  ;retrieve
  80.  and #$1f ;cleará3ámsb's
  81.  sta hours
  82.  txa  ;retrieveáitáfromáxáreg
  83.  and #$20 ;isolateáam/pmábit
  84.  asl
  85.  asl
  86.  ora hours ;putáhoursábackáin
  87.  sta tmp2 ;saveáitáforálater
  88.  sta $dc0b ;saveátoátheáciaátod
  89.  cmp #$12 ;isáitátwelve?
  90.  bne test ;no?ágotoátest
  91.  lda #$0 ;otherwiseásetáhourátoá0
  92. test bit tmp2 ;am/pmátest
  93.  bpl itsam ;onáamágotoáitsam
  94.  sed  ;decimalámode
  95.  clc  ;clearácarry
  96.  adc #$12 ;makeáitá24áhráclockáformat
  97.  cld  ;leaveádecimalámode
  98. itsam jsr bcdthx ;convertátoáhex
  99.  sta $8519 ;saveátoágeosáhours
  100.  lda mins ;retrieveáminutes
  101.  sta $dc0a ;saveátoátod
  102.  jsr bcdthx ;convertátoáhex
  103.  sta $851a ;saveátoágeosámins
  104.  lda secs ;retrieveáseconds
  105.  sta $dc09 ;saveátoátod
  106.  jsr bcdthx ;convertátoáhex
  107.  sta $851b ;saveátoágeosásecs
  108.  lda hsecs ;retrieveásecs/100
  109.  sta $dc08 ;&ástartáupátheátodáclock
  110.  jsr bcdthx ;convert
  111.  sta $851c ;saveátoágeosásecs/100
  112.  jsr rdbyt ;readádayá&áignore
  113.  jsr rdbyt ;readádate
  114.  jsr bcdthx ;convertátoáhex
  115.  sta $8518 ;saveátoágeosáday
  116.  jsr rdbyt ;readámonth
  117.  jsr bcdthx ;convertátoáhex
  118.  sta $8517 ;saveátoágeosámonth
  119.  jsr rdbyt ;readáyear
  120.  jsr bcdthx ;convertátoáhex
  121.  sta $8516 ;saveátoágeosáyear
  122.  lda #$e ;deselectátheáchip
  123.  sta dra
  124. finish pla  ;getáoldámemáconfig
  125.  sta $01 ;setáit
  126.  cli  ;enableáinterrupts
  127.  jsr $c22c ;reloadádesktop
  128. *
  129. *
  130. *
  131. *
  132. *áwriteáaábyteátoátheártc
  133. *
  134. wrtbyt tax  ;saveádataábyte
  135.  ldy #$8 ;setáupácount
  136.  lda #$e ;initialáconfig
  137.  sta dra ;outputáenableáoff
  138.  txa  ;retrieveádata
  139. wloop and #$1 ;clráallábutálsb
  140.  ora #$4 ;setáupáforáwrite
  141.  sta dra
  142.  ora #$e ;writeádataábit
  143.  sta dra
  144.  dey  ;decrementácount
  145.  beq wdone ;finished?
  146.  txa  ;getádata
  147.  lsr  ;selectánextábit
  148.  tax  ;saveánewádata
  149.  jmp wloop ;loop
  150. wdone rts
  151. *
  152. *
  153. *
  154. *
  155. *áreadáaábyteáfromátheártc
  156. *
  157. rdbyt lda #$e ;configálsbáasái/p
  158.  sta ddra ;
  159.  lda #$0 ;
  160.  sta temp ;clrátemp
  161.  ldx #$8 ;count=8
  162. rloop lda #$e ;setupáforáread
  163.  sta dra ;alláo/pábitsáhi
  164. á lda #$2 ;enableádataátoáread
  165.  sta dra
  166.  lda dra ;readádata
  167.  ror a ;rotateádataábitátoác
  168.  lda temp ;readátempátoáacc
  169.  ror a
  170.  sta temp ;saveátemp
  171.  dex  ;updateácount
  172.  bne rloop
  173.  lda temp ;tempátoáacc
  174.  rts
  175. *
  176. *
  177. *
  178. *
  179. *ábcdátoáhexáconvertároutine
  180. *ááthanksátoábswáforátheáhelp
  181. *
  182. *
  183. bcdthx pha  ;saveábcdávalue
  184.  and #$f0 ;isolateáleftánibble
  185.  lsr  ;andáshiftátoárhs
  186.  lsr
  187.  lsr
  188.  lsr
  189.  tax  ;markánumber
  190.  pla  ;getábcdávalue
  191.  and #$0f ;clearáleftánibble
  192.  clc  ;addáxátimesá10
  193. bhloop dex
  194.  bmi bhxout
  195.  adc #$0a
  196.  bne bhloop
  197. bhxout rts
  198. *
  199. *
  200. *
  201. *
  202. *
  203. *
  204. *
  205. *
  206. *selectáclockáchip
  207. *
  208. *
  209. *
  210. slct lda #$e ;readácycleátoástartádallasáchip
  211.  sta dra
  212.  lda #$2
  213.  sta dra
  214.  lda #$e
  215.  sta dra
  216.  lda #$2 ;loopácount
  217.  sta count
  218. sloop lda #$c5
  219.  jsr wrtbyt
  220.  lda #$3a
  221.  jsr wrtbyt
  222.  lda #$a3
  223.  jsr wrtbyt
  224.  lda #$5c
  225.  jsr wrtbyt
  226.  dec count ;decrementácount
  227.  bne sloop
  228.  rts
  229.